package DB;

import Model.Point;
import Model.Scenario;
import java.util.ArrayList;

/**
 *
 * @author Selemani
 */
public interface IFPointManager {
    
    /**
     * Get all points from database
     * @param scenario
     * @return ArrayList of points
     * @throws IllegalArgumentException 
     */
    ArrayList<Point> getAllPoints(Scenario scenario) throws IllegalArgumentException;
    
    /**
     * Save a point to the database
     * @param Point
     * @param Scenario
     * @throws IllegalArgumentException 
     */
    void savePoint(Point point, Scenario scenario) throws IllegalArgumentException;
    
    /**
     * Delete point from database
     * @param Point
     * @throws IllegalArgumentException 
     */
    void deletePoint(Point point) throws IllegalArgumentException;
    
    /**
     * Delete all points from scenario from the scenario
     * @param Scenario
     * @throws IllegalArgumentException 
     */
    void deletePoints(Scenario scenario) throws IllegalArgumentException;
    
    /**
     * Save all points from given scenario
     * @param Scenario
     * @throws IllegalArgumentException 
     */
    void savePoints(Scenario scenario) throws IllegalArgumentException;
}
